package com.exception_test.tjnu;

import java.io.File;
import java.io.IOException;

public class Exception_test {
	public static void main(String[] args) {
		test_38();
	}
	
	public static void test_38(){
		String  str = "dfe";
		int index=0;
		int count=0;
		try{
			while(true){
				str.charAt(index++);
				count++;
			}
		}catch(Exception e){
			System.out.println("字符创中字符数量为："+count);
		}
	}
	
	
	private static void test06(){
		int i=0;
		try{
			if(i==0){
				//主动抛出异常
				throw new IOException("除数不能为0");
			}
			System.out.println("程序执行完成");
		}catch(IOException e){
			e.printStackTrace();
		}
	}
	
	/**
	 * 异常处理机制，throws机制
	 * 检查性异常处理，也叫编译时异常
	 */
	private static void test05(){
		int i=0;
		if(i==0){
			//主动抛出异常
			throw new ArithmeticException("除数不能为0");
		}
	}
	
	/**
	 * 异常处理机制，throws机制
	 * 检查性异常处理，也叫编译时异常
	 * @throws IOException
	 */
	private static void test04() throws IOException{
		//调用了test03方法，因为test03方法出现了异常，所以调用者需要进行异常处理（这里是接着抛出
		test03();
	}
	
	/**
	 * 异常处理机制，throws机制
	 * 检查性异常处理，也叫编译时异常
	 * @throws IOException
	 */
	private static void test03() throws IOException{
		File file =new File("D:\\\\djjfhf.txt");
		file.createNewFile();
		System.out.println("文件新建完成");
	}
	
	/**
	 * 检查性异常，也叫编译时异常
	 */
	private static void test01(){
		File file =new File("G:xxxxxxxx.txt");
		try{
			file.createNewFile();
			System.out.println("文件新建成功");
		}catch(IOException e){
			System.out.println("发生了IO异常："+e.getMessage());
			e.printStackTrace();
		}catch(Exception e){
			e.printStackTrace();
		}finally{
			System.out.println("执行了finally部分。。。。");
		}
	}
	
	/**
	 * 非检查性异常，也叫运行时异常
	 */
	private static void test02(){
		try{
			int i=10/0;
		}catch(Exception e){
			System.out.println("发生了异常："+e.getMessage());
		}
	}
}
